package com.ling.springbootinit.utils;

import cn.hutool.core.util.RandomUtil;
import io.swagger.models.auth.In;

import java.util.Random;

/**
 * 随机数工具类
 */
public class RandomUtils {
    public static void main(String[] args) {
//         指定范围内生成一个随机整数 randomLong(long min, long max)
//        int i2 = RandomUtil.randomLong(100);
        for (int i = 0; i < 50; i++) {
            // 生成长度为6的随机字母[字符串]
            int anInt = RandomUtil.randomInt(1, 3);
            System.out.println(anInt);
        }
        System.out.println("============================");
        // 生成长度为8的随机数字[字符串]
        String randomNumeric = RandomUtil.randomNumbers(8);
        System.out.println(randomNumeric);
        // 生成长度为6的随机字母[字符串]
        String randomLetter = RandomUtil.randomString("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 6);
        System.out.println(randomLetter);


    }


    /**
     * 生成长度为6的随机字母[字符串]
     */
    public static String getRandomString(int length) {
        // 生成长度为6的随机字母[字符串]
//        String randomLetter = RandomUtil.randomString("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 6);
        String randomLetter = RandomUtil.randomString("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", length);
        System.out.println(randomLetter);
        return randomLetter;
    }


    /**
     * 获取姓名
     */
    public static String getRandomName() {
        // 生成常见的姓名
        return getRandomFirstName() + getRandomLastName();
    }


    /**
     * 获取姓
     */
    public static String getRandomFirstName() {
        // 生成长度为6的随机字母[字符串]
        // 常见的姓名
//        张伟”“王伟”“李娜”“王芳”“李伟”“王静”“李静”“张敏”“刘伟”“张静”
        return RandomUtil.randomString("宁张王李刘陈杨赵黄周徐", 1);
    }

    /**
     * 获取名
     */
    public static String getRandomLastName() {
        // 生成指定字符集的随机字符串。
        // 常见的姓名
        return RandomUtil.randomString("英伟娜芳静强敏勇杰艳丽梅", 1);
    }


    /**
     * 生成长度为8的随机数字[字符串],但前面有0的话要小心些
     */
    public static Long getRandomLong(int length) {

//         指定范围内生成一个随机整数 randomLong(long min, long max)
//        int i2 = RandomUtil.randomLong(100);
//        long aLong = RandomUtil.randomLong(300000,9000000);        System.out.println(aLong);
        // 生成长度为7的随机数字[字符串]
//        String randomNumeric = RandomUtil.randomNumbers(7);
        String randomNumeric = RandomUtil.randomNumbers(length);
        System.out.println(randomNumeric);
        long l = Long.parseLong(randomNumeric) + 1; //前面有0会自动去掉。
        return l;
    }


    /**
     * 生成长度为len的随机数字[字符串],但前面有0的话要小心些
     */
    public static int getRandomInt(int length) {

        // 生成长度为len的随机数字[字符串]
//        String randomNumeric = RandomUtil.randomNumbers(7);
        String randomNumeric = RandomUtil.randomNumbers(length);
        System.out.println(randomNumeric);
        //前面有0会自动去掉。
        return Integer.parseInt(randomNumeric)+1;
    }



}
